home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / activema / main.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-05-26  |  6.2 KB  |  199 lines

  1. unit main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   OleCtrls, ActiveMap_TLB, Menus, StdCtrls, ExtCtrls, ComCtrls;
  8.  
  9. type
  10.   TMainForm = class(TForm)
  11.     GroupBox1: TGroupBox;
  12.     GroupBox2: TGroupBox;
  13.     ControlsCheckBox: TCheckBox;
  14.     GroupBox3: TGroupBox;
  15.     CameraEdit: TEdit;
  16.     TargetEdit: TEdit;
  17.     LightAzScrollBar: TScrollBar;
  18.     LightAltScrollBar: TScrollBar;
  19.     Label1: TLabel;
  20.     Label2: TLabel;
  21.     RenderComboBox: TComboBox;
  22.     Label3: TLabel;
  23.     MistScrollBar: TScrollBar;
  24.     Label4: TLabel;
  25.     GraduatedCheckBox: TCheckBox;
  26.     Label5: TLabel;
  27.     SkyButton: TButton;
  28.     MistButton: TButton;
  29.     GroundButton: TButton;
  30.     SkyShape: TShape;
  31.     MistShape: TShape;
  32.     GroundShape: TShape;
  33.     RichEdit1: TRichEdit;
  34.     ColorDialog1: TColorDialog;
  35.     PositionButton: TButton;
  36.     Label6: TLabel;
  37.     Label7: TLabel;
  38.     PerspectiveScrollBar: TScrollBar;
  39.     Label8: TLabel;
  40.     LoadButton: TButton;
  41.     ActiveFormGLX: TActiveFormGLX;
  42.     ShadeCheckBox: TCheckBox;
  43.     procedure FormCreate(Sender: TObject);
  44.     procedure ControlsCheckBoxClick(Sender: TObject);
  45.     procedure SkyButtonClick(Sender: TObject);
  46.     procedure MistButtonClick(Sender: TObject);
  47.     procedure GroundButtonClick(Sender: TObject);
  48.     procedure GraduatedCheckBoxClick(Sender: TObject);
  49.     procedure MistScrollBarChange(Sender: TObject);
  50.     procedure RenderComboBoxChange(Sender: TObject);
  51.     procedure LightAzScrollBarChange(Sender: TObject);
  52.     procedure LightAltScrollBarChange(Sender: TObject);
  53.     procedure PositionButtonClick(Sender: TObject);
  54.     procedure PerspectiveScrollBarChange(Sender: TObject);
  55.     procedure LoadButtonClick(Sender: TObject);
  56.     procedure ShadeCheckBoxClick(Sender: TObject);
  57.   private
  58.   public
  59.     { Public declarations }
  60.   end;
  61.  
  62. var
  63.   MainForm: TMainForm;
  64.  
  65. implementation
  66.  
  67. uses about;
  68.  
  69. {$R *.DFM}
  70.  
  71. procedure TMainForm.FormCreate(Sender: TObject);
  72. begin
  73.   SkyShape.Brush.Color    := ActiveFormGLX.BackGroundColor;
  74.   MistShape.Brush.Color   := ActiveFormGLX.HorizonColor;
  75.   GroundShape.Brush.Color := ActiveFormGLX.GroundColor;
  76. end;
  77.  
  78. //----------------------------------------------------------------------------//
  79. procedure TMainForm.ControlsCheckBoxClick(Sender: TObject);
  80. begin
  81.   ActiveFormGLX.DisplayControls := ControlsCheckBox.Checked;
  82.   CameraEdit.Enabled     := not ControlsCheckBox.Checked;
  83.   TargetEdit.Enabled     := not ControlsCheckBox.Checked;
  84.   PositionButton.Enabled := not ControlsCheckBox.Checked;
  85. end;
  86.  
  87.  
  88. //----------------------------------------------------------------------------//
  89. procedure TMainForm.SkyButtonClick(Sender: TObject);
  90. begin
  91.   ColorDialog1.Color := SkyShape.Brush.Color;
  92.   if ColorDialog1.Execute then begin
  93.     SkyShape.Brush.Color := ColorDialog1.Color;
  94.     ActiveFormGLX.BackGroundColor := SkyShape.Brush.Color;
  95.     ActiveFormGLX.ExecGLRedraw;
  96.   end;
  97. end;
  98.  
  99. //----------------------------------------------------------------------------//
  100. procedure TMainForm.MistButtonClick(Sender: TObject);
  101. begin
  102.   ColorDialog1.Color := MistShape.Brush.Color;
  103.   if ColorDialog1.Execute then begin
  104.     MistShape.Brush.Color := ColorDialog1.Color;
  105.     ActiveFormGLX.HorizonColor := MistShape.Brush.Color;
  106.     ActiveFormGLX.ExecGLRedraw;
  107.   end;
  108. end;
  109.  
  110. //----------------------------------------------------------------------------//
  111. procedure TMainForm.GroundButtonClick(Sender: TObject);
  112. begin
  113.   ColorDialog1.Color := GroundShape.Brush.Color;
  114.   if ColorDialog1.Execute then begin
  115.     GroundShape.Brush.Color := ColorDialog1.Color;
  116.     ActiveFormGLX.GroundColor := GroundShape.Brush.Color;
  117.     ActiveFormGLX.ExecGLRedraw;
  118.   end;
  119. end;
  120.  
  121. //----------------------------------------------------------------------------//
  122. procedure TMainForm.GraduatedCheckBoxClick(Sender: TObject);
  123. begin
  124.   ActiveFormGLX.ShowHorizon := GraduatedCheckBox.Checked;
  125.   ActiveFormGLX.ExecGLRedraw;
  126. end;
  127.  
  128. //----------------------------------------------------------------------------//
  129. procedure TMainForm.MistScrollBarChange(Sender: TObject);
  130. begin
  131.   ActiveFormGLX.MistLevel := MistScrollBar.Position / 100.0;
  132.   ActiveFormGLX.ExecGLRedraw;
  133. end;
  134.  
  135. //----------------------------------------------------------------------------//
  136. procedure TMainForm.RenderComboBoxChange(Sender: TObject);
  137. begin
  138.   ActiveFormGLX.Render := RenderComboBox.Text;
  139.   ActiveFormGLX.ExecGLRestart;
  140. end;
  141.  
  142. //----------------------------------------------------------------------------//
  143. procedure TMainForm.LightAzScrollBarChange(Sender: TObject);
  144. begin
  145.   ActiveFormGLX.LightAz := LightAzScrollBar.Position;
  146.   ActiveFormGLX.ExecGLRedraw;
  147. end;
  148.  
  149. //----------------------------------------------------------------------------//
  150. procedure TMainForm.LightAltScrollBarChange(Sender: TObject);
  151. begin
  152.   ActiveFormGLX.LightAlt := LightAltScrollBar.Position;
  153.   ActiveFormGLX.ExecGLRedraw;
  154. end;
  155.  
  156.  
  157. //----------------------------------------------------------------------------//
  158. procedure TMainForm.PositionButtonClick(Sender: TObject);
  159. begin
  160.   ActiveFormGLX.CameraPosition := CameraEdit.Text;
  161.   ActiveFormGLX.TargetPosition := TargetEdit.Text;
  162.   ActiveFormGLX.ExecGLUpdate;
  163. end;
  164.  
  165.  
  166. //----------------------------------------------------------------------------//
  167. procedure TMainForm.PerspectiveScrollBarChange(Sender: TObject);
  168. begin
  169.   ActiveFormGLX.Perspective := PerspectiveScrollBar.Position;
  170.   ActiveFormGLX.ExecGLRestart;
  171. end;
  172.  
  173. //----------------------------------------------------------------------------//
  174. procedure TMainForm.LoadButtonClick(Sender: TObject);
  175. begin
  176.   if LoadButton.Caption = 'Load Lomond' then begin
  177.     ActiveFormGLX.TIN     := 'lomond.tin';
  178.     ActiveFormGLX.overlay := 'lomfract.bmp';
  179.     LoadButton.Caption    := 'Load Tatras';
  180.   end
  181.   else begin
  182.     LoadButton.Caption    := 'Load Lomond';
  183.     ActiveFormGLX.TIN     := 'tatras.tin';
  184.     ActiveFormGLX.overlay := 'tatras.bmp';
  185.   end;
  186.  
  187.   ActiveFormGLX.ExecGLRestart;
  188. end;
  189.  
  190. //----------------------------------------------------------------------------//
  191. procedure TMainForm.ShadeCheckBoxClick(Sender: TObject);
  192. begin
  193.   ActiveFormGLX.ShadeTexture := ShadeCheckBox.Checked;
  194.   ActiveFormGLX.ExecGLRestart;
  195. end;
  196.  
  197. end.
  198.  
  199.